#include "../src/estructuras/archivo/ArchivoRegistros.h"

typedef unsigned int uint;
typedef struct{
	uint IdTermino;
	uint frecuencia;
	uint docs[2];
} tElementoIndice;

void imprimirElement(tElementoIndice element){
	std::stringstream mensaje;
	mensaje <<"(IdTermino ; frecuencia ; docs) = ( "<<element.IdTermino<<" ; "<<element.frecuencia<<" ; "
			<<element.docs[0]<<" "<<element.docs[1]<<" )";
	Logger::getInstance()->debug("Test-ArchivoRegistros","imprimirElement",mensaje.str(),MEDIO);
}

void testArchivoRegistros(){

	//se crear tres elementos de el indice fila, osea, una fila de el indice final
	tElementoIndice element[3];
	element[0].IdTermino = 1;
	element[0].frecuencia = 1;
	element[0].docs[0] = 1;
	element[0].docs[1] = 1;

	element[1].IdTermino = 2;
	element[1].frecuencia = 2;
	element[1].docs[0] = 1;
	element[1].docs[1] = 2;

	element[2].IdTermino = 3;
	element[2].frecuencia = 3;
	element[2].docs[0] = 1;
	element[2].docs[1] = 2;

	ArchivoRegistros* archRegistros = new ArchivoRegistros("./test/indiceFinal.dat",sizeof(tElementoIndice));
	//leo la informacion
	for (int i=0 ; i<2; i++){
		archRegistros->posicionarse(i);
		archRegistros->escribir(&element[i]);
	}
	archRegistros->escribir(&element[0]);

	//leo la informacion
	tElementoIndice element2[3];
	for (int i=0 ; i<3; i++){
		archRegistros->posicionarse(i);
		archRegistros->leer(&element2[i]);
		imprimirElement(element2[i]);
	}

}
